package com.cbtx.tablet.device

import com.xinchao.machine.digital_advertise.IBaseMachine

/**
 * author : joker.peng
 * e-mail : joker@fiture.com
 * date   : 2021/7/1 11:25 AM
 * desc   :
 */
interface IMachine : IBaseMachine {

    fun isRoot(): Boolean

    fun getResolutions(screenNum: Int): String?

    fun getTemperature(): String?

    fun getFirstLine(filePath: String?): String?

    fun firstLine2Number(firstLine: String): String

    /**
     * 产品型号
     *
     * @return
     */
    fun getProductType(): String?

    /**
     * 温度
     *
     * @return
     */
    fun getHumidity(): String?

    /**
     * 总存储(M)
     *
     * @return
     */
    fun getTotalExternalMemorySize(): String?

    /**
     * 剩余空间大小（M）
     *
     * @return
     */
    fun getAvailableExternalMemorySize(): String?

    /**
     * 获取imsi
     *
     * @return
     */
    fun getIMSI(): String?

    /**
     * 设置开关机
     *
     * @param on
     * @param off
     * @return
     */
    fun setTimingSwitch(on: String?, off: String?): Boolean

    /**
     * 安装app
     *
     * @param filePath
     */
    fun installApk(filePath: String?)

    /**
     * 清空定时开关机
     */
    fun clearTimingSwitch()

    /**
     * 截屏
     *
     * @param displayId   屏幕 id
     * @param pngFileName 全文件名，必须为 PNG 后缀，如：/sdcard/main.png
     */
    fun screenCap(displayId: Int, pngFileName: String?)

    /**
     * 截主屏
     *
     * @param pngFileName 全文件名，必须为 PNG 后缀，如：/sdcard/main.png
     */
    fun screenCap(pngFileName: String?)

    /**
     * TV 添加进程白名单
     */
    fun updateKeepRunningFile()

    /**
     * 不同TV文件路径不同
     *
     * @return
     */
    fun getKeepRunningFile(): String?

    /**
     * 不同TV文件路径不同
     *
     * @return
     */
    fun getKeepBackgroundFile(): String?
}